#ifndef HEADER_H
#define HEADER_H

#include "stm32f10x.h"

struct gpsData
{
    char Latitude[11];  // 经度原数据
    char longitude[12]; // 纬度源数据
    char Latitudess[3]; // 整数部分
    char longitudess[2];
    char Latitudedd[8]; // 小数点部分
    char longitudedd[10];
    char TrueLatitude[11];  // 转换过数据
    char Truelongitude[12]; // 转换过数据
} LongLatidata;             // 经纬度数据

void transferLetter(char *str, int index);                    // 字符串大小写转换
void MqttOnenet_Init(void);                                   // MQTT初始化
void MPUInit(void);                                           // MPU初始化
void variateInit(void);                                       // 变量初始化
void flashInit(uint8_t readLength, uint8_t writeLength);      // flash初始化
void gpsDataChange(void);                                     // GPS数据转换
void BluetoothToComputer(void);                               // 蓝牙数据发送到电脑
void deposeComputerData(void);                                // 处理电脑上位机数据
void initlizateGPSData(void);                                 // 分析GPS数据
void connectServer(void);                                     // 连接服务器
void buildWIFIConnect(char *dionet);                          // 构建WIFI连接
void deposeBuletoothData(void);                               // 处理蓝牙数据
void mqttStringSend(void);                                    // 发送数据到ONENET服务器
void MPUGet(void);                                            // 获取MPU数据
void deposeMpuData(void);                                     // 处理MPU数据
void flashRead(uint8_t *data, uint16_t len);                  // flash读取
void flashWrite(uint8_t *data, uint16_t len);                 // flash写入
void flashClear(void);                                        // flash扇区擦除
void TCP_Connect(void);                                       // 建立TCP连接
void TCP_Disconnect(void);                                    // 断开TCP连接
uint8_t *Check_Command(char *str);                            // 检查命令
uint8_t Send_Command(char *cmd, char *ack, uint8_t waittime); // 发送命令
void Send_Data(char *data);                                   // 发送数据
char *jsonDataDepose(char *data);                             // 处理json数据
uint8_t judeModeFlag(char *str);                              // 判断模式

#endif